package system.service;

import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import common.model.po.SysBusinessCode;
import common.model.request.base.PaginationRequest;
import system.model.request.DeleteBusinessCodeRequest;
import system.model.request.SaveBusinessCodeRequest;
import system.model.request.SearchBusinessCodeRequest;
import system.model.request.UpdateBusinessCodeValidRequest;

import java.util.List;
import java.util.TreeMap;

/**
 * 业务编码服务类
 *
 * @author 米泽鹏
 * @since 2022-03-22
 */
public interface SysBusinessCodeService extends IService<SysBusinessCode> {

	TreeMap<String, List<Tree<Long>>> getAllBusinessCode();

	Page<SysBusinessCode> pageBusinessCode(PaginationRequest<SearchBusinessCodeRequest, SysBusinessCode> paginationRequest);

	void saveBusinessCode(SaveBusinessCodeRequest request);

	void deleteBusinessCode(DeleteBusinessCodeRequest request);

	List<Tree<Long>> getAllBusinessCodeById(Long businessCodeId);

	Boolean updateBusinessCodeValid(UpdateBusinessCodeValidRequest request);

}
